home *** CD-ROM | disk | FTP | other *** search
- 10 POKE 53280,0:POKE 53281,0
- 20 DIM V1(144),V2(144)
- 30 DIM DA(32),FI$(144),TR(144),SE(144),VF$(144),VT(144),VS(144),D1(144),D2(144)
- 40 FOR I=1 TO 32:READ DA(I):NEXT I
- 50 PRINT"[147] BHP-VIRUS-KILLER [146]":PRINT" 10.11.87 (TR)"
- 60 PRINT"[153] 1 [146] SUCHE NACH VIREN"
- 70 PRINT" 2 [146] ZEIGE VERSEUCHTE FILES"
- 80 PRINT" 3 [146] VIREN ENTFERNEN"
- 90 PRINT" 4 [146] DIRECTORY"
- 100 PRINT" 5 [146] PROGRAMMENDE"
- 110 GET A$:IF A$=""THEN 110
- 120 PRINT A$:ON VAL(A$)GOTO 140,470,520,830,900
- 130 GOTO 110
- 140 REM UEBERPRUEFE DISKETTE
- 150 GOSUB960:IF F THEN PRINT"[147]"A2$:GOSUB 930:GOTO 50
- 160 OPEN1,8,15,"I":OPEN2,8,2,"#":PRINT"[147] PASS 1 [146]"
- 170 TR=18:SE=1:FZ=0
- 180 PRINT#1,"U1 2 0 18"SE:SX=SE
- 190 GET#2,A$,B$
- 200 TR=ASC(A$+CHR$(0)):SE=ASC(B$+CHR$(0))
- 210 FOR BP=2 TO 226 STEP 32
- 220 PRINT#1,"B-P 2";BP
- 230 GET#2,A$:IF(ASC(A$+CHR$(0))AND 15)<>2 THEN NEXT BP:GOTO280
- 240 FZ=FZ+1:GET#2,A$,B$:TR(FZ)=ASC(A$+CHR$(0)):SE(FZ)=ASC(B$+CHR$(0))
- 250 FI$(FZ)="":D1(FZ)=SX:D2(FZ)=BP+1
- 260 FOR I=1 TO 16:GET#2,A$:FI$(FZ)=FI$(FZ)+A$:NEXT I
- 270 PRINT".";:NEXT BP
- 280 IF TR<>0 THEN 180
- 290 PRINT:IF FZ=0 THEN PRINT"KEINE PRG-FILES AUF DIESER DISKETTE!":GOTO 420
- 300 PRINT" PASS 2"
- 320 VZ=0:Z=0
- 330 Z=Z+1
- 340 PRINT#1,"U1 2 0";TR(Z);SE(Z)
- 350 GET#2,A$,B$:FT=ASC(A$+CHR$(0)):FS=ASC(B$+CHR$(0)):GET#2,A$,A$
- 360 FOR I=1 TO 32:GET#2,A$:A=ASC(A$+CHR$(0))
- 370 IF A=DA(I) THEN NEXT I:GOTO 430
- 380 I=34:NEXT I
- 390 PRINT".";:IF Z<>FZ THEN 330
- 410 IF VZ=0 THEN PRINT:PRINT"KEINE BHP-VIREN GEFUNDEN!"
- 420 CLOSE2:CLOSE1:GOSUB 930:GOTO 50
- 430 PRINT:PRINT"VIRUS IM PROGRAMM "FI$(Z)"!!!"
- 440 VZ=VZ+1:VZ$(VZ)=FI$(Z):VT(VZ)=TR(Z):VZ(VZ)=SE(Z)
- 450 V1(VZ)=D1(Z):V2(VZ)=D2(Z)
- 460 GOTO 390
- 470 REM ZEIGE VERSEUCHTE FILES
- 490 PRINT" VERSEUCHTE PROGRAMME: [146]"
- 500 FOR I=1 TO VZ:PRINTVF$(I):NEXT I
- 510 GOSUB 930:GOTO 50
- 520 REM VIREN ENTFERNEN
- 530 PRINT"[147]";:IF VZ=0 THEN PRINT"KEINE VERSEUCHTEN PROGRAMME.":GOSUB 930:GOTO 50
- 540 GOSUB 960:IF F THEN PRINT"[147]"A2$:GOSUB930:GOTO 50
- 550 OPEN 1,8,15,"I":OPEN 2,8,2,"#"
- 560 FOR Z=1 TO VZ:PRINT""VF$(Z)"[146] - ";:TR=VT(Z):SE=VS(Z)
- 570 FOR I=1 TO 8:PRINT#1,"B-F 0";TR;SE
- 580 PRINT#1,"U1 2 0";TR;SE
- 590 GET#2,A$,B$:TR=ASC(A$+CHR$(0)):SE=ASC(B$+CHR$(0))
- 600 NEXT I
- 630 PRINT#1,,"U1 2 0 18";V1(Z):PRINT#1,"B-P2";V2(Z)
- 640 PRINT#2,CHR$(TR);CHR$(SE)
- 650 PRINT#1,"U2 2 0 18";V1(Z):INPUT#1,A1$,A2$,A3$,A4$
- 651 IF A1$<>"00" THEN PRINT A2$:CLOSE 2:CLOSE1:GOSUB 930:GOTO 50
- 660 PRINT "VIRUS ENTFERNT"
- 670 PRINT#1,"B-P 2";V2(Z)+27
- 680 GET#2,A$,B$:DL=ASC(A$+CHR$(0))+ASC(B$+CHR$(0))*256
- 700 ZZ=0
- 710 ZZ=ZZ+1:PRINT#1,"U1 2 0";TR;SE
- 720 GET#2,A$,B$:TR=ASC(A$+CHR$(0)):SE=ASC(B$+CHR$(0))
- 740 IF TR<>0 THEN 710
- 750 IF DL=ZZ THEN 820
- 760 PRINT#1,"U1 2 0 18";V1(Z):PRINT#1,"B-P 2";V2(Z)+27
- 770 ZL=ZZ AND 255:ZH=INT(ZZ/256)
- 780 PRINT#2,CHR$(ZL);CHR$(ZH);
- 790 PRINT#1,"U2 2 0 18";V1(Z)
- 820 NEXT Z:VZ=0:CLOSE 2:CLOSE 1:GOTO 50
- 830 REM DIRECTORY
- 840 GOSUB 960:IF F THEN PRINT"[147]"A2$:GOSUB 930:GOTO 50
- 850 PRINT"[147] 0 ";:OPEN 1,8,0,"$":POKE 781,1:SYS 65478:GET A$,A$,A$,A$:X$=CHR$(0)
- 860 FOR I=1 TO 7:GET A$,B$,C$,D$:PRINT A$B$C$D$;:NEXT:PRINT:GET A$,A$,A$,B$
- 870 IF ST THEN SYS65484:GOTO 890
- 880 PRINT ASC(A$+X$)+256*ASC(B$+X$);:GOTO 860
- 890 CLOSE 1:GOSUB 930:GOTO 50
- 900 SYS 2048
- 910 DATA 31,8,194,7,158,194,40,52,51,41,17,0,194,40,52,52,40
- 920 DATA 172,50,53,54,170,52,56,58,86,73,8,2,85,83,0,0,0
- 930 PRINT:PRINT:PRINT"<RETURN>":POKE 198,0
- 940 GET A$:IF A$<>CHR$(13) THEN 940
- 950 RETURN
- 960 REM DISKETTEN-CHECK
- 970 F=1:OPEN 1,8,15,"I":INPUT#1,A1$,A2$,A3$,A4$:CLOSE 1:IF A1$="00" THEN F=0
- 980 RETURN
-